package com.eedi.org.hospital.controller.vo.dept;

import com.eedi.framework.common.enums.CommonStatusEnum;
import com.eedi.framework.common.validation.AddGroup;
import com.eedi.framework.common.validation.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Schema(description = "管理后台 - 医院科室新增/修改 Request VO")
@Data
public class OrgHospDeptSaveReqVO {

    /**
     * 科室业务ID
     */
    @Schema(description = "科室业务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30179")
    @NotEmpty(message = "科室业务ID不能为空", groups = UpdateGroup.class)
    private String orgHospDeptId;

    /**
     * 医院ID
     */
    @Schema(description = "医院ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31913")
    @NotEmpty(message = "医院ID不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String orgHospitalId;

    /**
     * 科室名称
     */
    @Schema(description = "科室名称", example = "赵六")
    @NotEmpty(message = "医院科室名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String orgDeptName;

    /**
     * 医院标准科室编码
     */
    @Schema(description = "医院标准科室", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "医院标准科室编码不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String orgHospStandardDeptCode;

    /**
     * 医院标准科室名称
     */
    @Schema(description = "医院标准科室名称")
    @NotEmpty(message = "医院标准科室名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String orgHospStandardDept;

    /**
     * 医保编码
     */
    @Schema(description = "医保编码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String orgMiCode;

    /**
     * 自定义编码
     */
    @Schema(description = "自定义编码")
    private String orgCustomCode;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private CommonStatusEnum orgStatus;

}
